package com.example.demo.service.impl;

import com.example.demo.entity.AdminPermission;
import com.example.demo.entity.AdminRole;
import com.example.demo.entity.AdminUser;
import com.example.demo.mapper.AdminRoleMapper;
import com.example.demo.service.AdminRoleService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author 叮当猫的百宝箱
 * @since 1.0
 */
@Service
@RequiredArgsConstructor
public class AdminRoleServiceImpl implements AdminRoleService {

    private final AdminRoleMapper adminRoleMapper;

    /**
     * 根据管理员角色ID获取角色拥有的权限列表
     *
     * @param adminRoleId 管理员角色ID
     * @return 角色拥有的权限列表
     */
    @Override
    public List<AdminPermission> getAdminPermissionsById(Long adminRoleId) {
        return adminRoleMapper.findPermissionById(adminRoleId);
    }

    /**
     * 根据管理员角色ID获取拥有该角色的所有管理员用户列表
     *
     * @param adminRoleId 管理员角色ID
     * @return 拥有该角色的所有管理员用户列表
     */
    @Override
    public List<AdminUser> getAdminUserById(Long adminRoleId) {
        return adminRoleMapper.findAdminUserById(adminRoleId);
    }


    /**
     * 获取全部角色列表
     *
     * @return 所有管理员角色列表
     */
    @Override
    public List<AdminRole> getAdminRoleList() {
        return adminRoleMapper.findAll();
    }
}
